#ifndef LOBBY_H
#define LOBBY_H

#include <cstdlib>

#include <QObject>
#include <QPixmap>
#include <QWidget>

class QPaintEvent;
class QResizeEvent;

class Button;

class Lobby : public QWidget
{
    Q_OBJECT

signals:
    void home();
    void difficultySelected(int iDifficulty);
    void start();

public:
    explicit Lobby(QWidget* pkParent = NULL);
    ~Lobby();

protected:
    Lobby(const Lobby&);
    Lobby& operator =(const Lobby&);

    void paintEvent(QPaintEvent* pkEvent);
    void resizeEvent(QResizeEvent* pkEvent);

private:
    //------------------------------------------------
    //  Attributes.
    //------------------------------------------------
    // Ratio.
    qreal   m_ratio;

    // Pixmaps.
    QPixmap m_kBackground;
    QPixmap m_kDifficulty;

    // Ok button.
    Button* m_pkOkButton;

    // Difficulty buttons.
    Button* m_pkEasyButton;
    Button* m_pkNormalButton;
    Button* m_pkHardcoreButton;
};

#endif // LOBBY_H
